package com.kimoge.spring6.validation.methodfour;

import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;

/**
 * @author kimoge
 * @date 2025/8/30
 * @description
 */
public class MyNotBlankValidator implements ConstraintValidator<MyNotBlank, String> {
    /**
     *
     * @param value 要检验的数据
     * @param context 可用于设置提示信息
     * @return 返回是否合法
     */
    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {
        if (value != null && value.trim().isEmpty()) {
            // 获取提示信息
            String messageTemplate = context.getDefaultConstraintMessageTemplate();
            System.out.println(messageTemplate);
            // 禁用默认提示信息-----即MyNotBlank注解中的message信息
            context.disableDefaultConstraintViolation();
            // 自我设置提示语
            context.buildConstraintViolationWithTemplate("不可为空串").addConstraintViolation();
            return false;
        }
        return true;
    }
}
